In order to measure and control a rotation angle of a motor, an encoder for sensing a rotation angle is attached to a rotary shaft of the motor and measures an absolute angle by using gray codes, binary codes, M codes, pseudorandom codes, Vernier-type codes or the like.
Among them, the Vernier-type encoder figures out an absolute angle by using phase difference information of signals with different cycles. Theoretically, this method is composed of only two tracks which generate two sinusoidal signals. However, practically, this encoder is composed of three or more tracks by adding a track for preventing a high-level bit error.
FIG. 1 shows a code disk of a general 3-track Vernier-type optical rotary encoder.
In FIG. 1, three analog tracks, 50, 52, and 54, may be classified into a master track 50, a Vernier track 52, and a segment track 54. The master track 50 generates a sinusoidal signal with the fastest cycle while the Vernier track 52 and the segment track 54 create sinusoidal signals with cycles smaller than the cycle of the master track 50 by predetermined values.
The maximum resolution available in the Vernier-type encoder is determined by:
1. A resolution of each sinusoidal signal when digitally converted.
2. A phase difference level of each sinusoidal signal.
Let's demystify how the Vernier-type encoder works. The Vernier-type encoder basically comprises two tracks: master and Vernier tracks. The master track generates sinusoidal signals with a cycle corresponding to the resolution of upper bit. This upper bit is produced when the encoder makes one rotation. On the other hand, the Vernier track generates sinusoidal signals with a cycle smaller than that of the master track by one. Hence, an upper bit signal is calculated from the phase difference of both track signals. When the encoder makes one rotation, the phase difference of both tracks linearly changes from 0 pi to 2 pi with respect to the rotation angle. For this reason, once the phase difference is measured and digitalized, a high-level bit signal is generated. In addition, while the high-level bit signal changes as much as 1 least significant bit (LSB), the sinusoidal signal of the master track changes from 0 pi to 2 pi. If the signal is digitalized, a low-level bit signal corresponding to the high-level 1 LSB may be generated.
The high-level bit signal may have higher change of causing a bit error due to noise, different from other track absolute position generating methods using gray codes, binary codes or the like. Therefore, a segment track for generating a sinusoidal signal with a cycle smaller than that of the master track by M (M=2^N, N is an integer greater than 1 and smaller than the bit number of the low-level bit signal) is added to correct the high-level bit signal.
The present disclosure proposes a method of adding an auxiliary digital track for generating a digital pulse signal corresponding to the master track, instead of adding a segment track for generating analog sinusoidal signal, in order to correct the high-level bit error. Since the signal track for generating a sinusoidal signal is sensitive to noise, the height of a track should be increased in order to ensure a signal level over a certain value. However, the signal track for generating a digital pulse signal is strong against noise at a relatively low height. Here, decreasing the height of a track means decreasing a length of a track pattern along the central direction of the disk. Since the analog track is substituted for the digital track, the entire size of the encoder disk is decreased.